package com.sp.es.modal;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.data.elasticsearch.annotations.DateFormat;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.io.Serializable;
import java.util.Date;

/**
 * ES专用对象与BO对象类字段保持一致
 * @author haifeng
 *
 */
public class UniDeputyRelat implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = -3002683695181594713L;
	//关联关系ID
    @Field(type = FieldType.Long)
	private Long relatId;
	//副账号标识
    @Field(type = FieldType.Long)
    private Long deputyAccountId;
    //组织标识
    @Field(type = FieldType.Long)
    private Long organizationId;
    //组织编码
    @Field(type = FieldType.Keyword)
    private String organizationCode;
    //组织名称
    @Field(type = FieldType.Keyword)
    private String organizationName;
    //组织所属地区 ---- 2019/6/13 根据业务添加
    @Field(type = FieldType.Keyword)
    private String setIdDept;
    //岗位标识
    @Field(type = FieldType.Long)
    private Long positionId;
    //岗位Code
    @Field(type = FieldType.Keyword)
    private String positionCode;
    //岗位名称
    @Field(type = FieldType.Keyword)
    private String positionName;
    //岗位类型
    @Field(type = FieldType.Keyword)
    private String inPositionType;
    //生效日期
    @Field(type= FieldType.Date,format = DateFormat.custom,pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern ="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date validDate;
    //失效日期
    @Field(type= FieldType.Date,format = DateFormat.custom,pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern ="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date expireDate;
    //数据状态
    @Field(type = FieldType.Keyword)
    private String dataStatus;
    //创建日期
    @Field(type= FieldType.Date,format = DateFormat.custom,pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern ="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date createDate;
    //创建操作员编码
    @Field(type = FieldType.Keyword)
    private String createOpId;
    //创建组织编码
    @Field(type = FieldType.Keyword)
    private String createOrgId;
    //事务编号
    @Field(type = FieldType.Long)
    private Long doneCode;
    //操作日期
    @Field(type= FieldType.Date,format = DateFormat.custom,pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern ="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date doneDate;
    //操作员编码
    @Field(type = FieldType.Keyword)
    private String opId;
    //操作组织编码
    @Field(type = FieldType.Keyword)
    private String orgId;
    //数据归属地区
    @Field(type = FieldType.Keyword)
    private String regionId;
	public Long getRelatId() {
		return relatId;
	}
	public void setRelatId(Long relatId) {
		this.relatId = relatId;
	}
	public Long getDeputyAccountId() {
		return deputyAccountId;
	}
	public void setDeputyAccountId(Long deputyAccountId) {
		this.deputyAccountId = deputyAccountId;
	}
	public Long getOrganizationId() {
		return organizationId;
	}
	public void setOrganizationId(Long organizationId) {
		this.organizationId = organizationId;
	}
	public String getOrganizationName() {
		return organizationName;
	}
	public void setOrganizationName(String organizationName) {
		this.organizationName = organizationName;
	}
	public Long getPositionId() {
		return positionId;
	}
	public void setPositionId(Long positionId) {
		this.positionId = positionId;
	}
	public String getPositionCode() {
		return positionCode;
	}
	public void setPositionCode(String positionCode) {
		this.positionCode = positionCode;
	}
	public String getPositionName() {
		return positionName;
	}
	public void setPositionName(String positionName) {
		this.positionName = positionName;
	}
	public String getInPositionType() {
		return inPositionType;
	}
	public void setInPositionType(String inPositionType) {
		this.inPositionType = inPositionType;
	}
	public Date getValidDate() {
		return validDate;
	}
	public void setValidDate(Date validDate) {
		this.validDate = validDate;
	}
	public Date getExpireDate() {
		return expireDate;
	}
	public void setExpireDate(Date expireDate) {
		this.expireDate = expireDate;
	}
	public String getDataStatus() {
		return dataStatus;
	}
	public void setDataStatus(String dataStatus) {
		this.dataStatus = dataStatus;
	}
	public Date getCreateDate() {
		return createDate;
	}
	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}
	public String getCreateOpId() {
		return createOpId;
	}
	public void setCreateOpId(String createOpId) {
		this.createOpId = createOpId;
	}
	public String getCreateOrgId() {
		return createOrgId;
	}
	public void setCreateOrgId(String createOrgId) {
		this.createOrgId = createOrgId;
	}
	public Long getDoneCode() {
		return doneCode;
	}
	public void setDoneCode(Long doneCode) {
		this.doneCode = doneCode;
	}
	public Date getDoneDate() {
		return doneDate;
	}
	public void setDoneDate(Date doneDate) {
		this.doneDate = doneDate;
	}
	public String getOpId() {
		return opId;
	}
	public void setOpId(String opId) {
		this.opId = opId;
	}
	public String getOrgId() {
		return orgId;
	}
	public void setOrgId(String orgId) {
		this.orgId = orgId;
	}
	public String getRegionId() {
		return regionId;
	}
	public void setRegionId(String regionId) {
		this.regionId = regionId;
	}
	public String getOrganizationCode() {
		return organizationCode;
	}
	public void setOrganizationCode(String organizationCode) {
		this.organizationCode = organizationCode;
	}
	public String getSetIdDept() {
		return setIdDept;
	}
	public void setSetIdDept(String setIdDept) {
		this.setIdDept = setIdDept;
	}
	
    
    

}
